Conversation
Add end-to-end throughput numbers from ghz load testing (50k default, 53k tuned, 56k bare gRPC at c=200 on M1 Pro) and pprof CPU/heap breakdown under load. Key additions: - architecture.md: new "Interceptor Chain Overhead" section with RPS comparison table and the ~10-12% overhead framing - Debugging.md: pprof-under-load workflow with CPU breakdown table and the critical "cumulative CPU != throughput impact" nuance - config-reference.md: RESPONSE_TIME_LOG_ERROR_ONLY and DISABLE_UNIX_GATEWAY added to high-throughput example, measured tuning impact table, histogram trade-off warning - production.md: histogram disappearance warning on latency alerts, RESPONSE_TIME_LOG_ERROR_ONLY in production checklist - Index.md: overhead claim in hero text
|
Warning Rate limit exceeded
Your organization is not enrolled in usage-based pricing. Contact your admin to enable usage-based pricing to continue reviews beyond the rate limit, or try again in 13 minutes and 59 seconds. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (2)
📝 WalkthroughWalkthroughThis pull request updates documentation across five files to quantify gRPC interceptor chain performance impact (~10–12% overhead), add benchmark results, introduce configuration tuning environment variables, clarify Prometheus histogram behavior when disabled, and document profiling workflows under gRPC load. Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~12 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
🧹 Nitpick comments (1)
howto/Debugging.md (1)
50-51: Clarifyghzprerequisites to avoid copy-paste failures.Consider adding a short note that this command assumes server reflection is enabled; otherwise users should pass
--proto/--import-path.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@howto/Debugging.md` around lines 50 - 51, Add a brief note in Debugging.md near the ghz example clarifying that the ghz command shown (ghz --insecure --call your.package.Service/Method ...) assumes server reflection is enabled on the target gRPC server; if reflection is not enabled, instruct users to supply the proto definition and import paths using ghz flags (e.g., --proto and --import-path) or otherwise provide equivalent connection information so the call succeeds.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Nitpick comments:
In `@howto/Debugging.md`:
- Around line 50-51: Add a brief note in Debugging.md near the ghz example
clarifying that the ghz command shown (ghz --insecure --call
your.package.Service/Method ...) assumes server reflection is enabled on the
target gRPC server; if reflection is not enabled, instruct users to supply the
proto definition and import paths using ghz flags (e.g., --proto and
--import-path) or otherwise provide equivalent connection information so the
call succeeds.
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: 5c715120-dd7e-413d-8758-0b9823641d1c
📒 Files selected for processing (5)
Index.mdarchitecture.mdconfig-reference.mdhowto/Debugging.mdhowto/production.md
There was a problem hiding this comment.
Pull request overview
Adds performance-focused documentation across the docs site, tying together ghz throughput benchmarks, pprof-under-load guidance, and configuration trade-offs for high-QPS services.
Changes:
- Document interceptor-chain throughput overhead (default vs tuned vs bare gRPC) and link it from the home page hero text.
- Add a “profiling under gRPC load” workflow (ghz + pprof CPU/heap) and clarify how to interpret cumulative CPU vs throughput.
- Expand high-throughput configuration guidance with measured tuning impact and explicit warnings about disabling Prometheus histograms.
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| Index.md | Updates hero text with a linked claim about interceptor-chain overhead. |
| howto/production.md | Adds histogram/latency-alert caveat and includes RESPONSE_TIME_LOG_ERROR_ONLY in the production checklist. |
| howto/Debugging.md | Adds a step-by-step pprof-under-load workflow using ghz plus interpretation guidance. |
| config-reference.md | Updates histogram config description; expands high-throughput example; adds measured tuning impact + warnings. |
| architecture.md | Adds a new section quantifying interceptor-chain overhead and pointing to relevant tuning knobs. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
…l interaction - Rename table columns from 'c=N RPS' to 'RPS @ c=N' to disambiguate concurrency from throughput - Add RESPONSE_TIME_LOG_LEVEL=warn to high-throughput example to clarify interaction with LOG_LEVEL
Summary
RESPONSE_TIME_LOG_ERROR_ONLYandDISABLE_UNIX_GATEWAYto high-throughput example, measured tuning impact table, and histogram trade-off warning to config-reference.mdRESPONSE_TIME_LOG_ERROR_ONLYto production checklist in production.mdTest plan
/architecture#interceptor-chain-overhead,/config-reference#measured-tuning-impact)Summary by CodeRabbit
Documentation